﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using DAO;
using Entidades;

namespace ProyectoCine
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ddlTipoDni.DataSource = UsuarioDAO.CargarDni();
                ddlTipoDni.DataValueField = "id_TipoDni";
                ddlTipoDni.DataTextField = "nombre";
                ddlTipoDni.DataBind();                

                if (Session["dni_Usuario"] != null)
                {
                    Usuario usuario = UsuarioDAO.BuscarPorDni((int)Session["dni_Usuario"]);
                    txtUserName.Text = usuario.User;
                    txtNombreUser.Text = usuario.Nombre;
                    txtApellidoUser.Text = usuario.Apellido;
                    
                    ddlTipoDni.SelectedValue = usuario.Id_TipoDni.ToString();

                    txtNumDni.Text = usuario.NumDni.ToString();
                    txtEmailUser.Text = usuario.Mail;
                    
                    lblRol.Text = usuario.Id_Rol.ToString();

                    txtPassUser.Text = usuario.Pass;

                    Panel1.GroupingText = "Modificar Usuario";
                }           
              
            }            
        }

        protected void btnBorrar_Click(object sender, EventArgs e)
        {
            if (Session["dni_Usuario"] != null)
            {
                try 
                {
                    UsuarioDAO.DarBaja(int.Parse(txtNumDni.Text));
                    Session["dni_Usuario"] = null;
                    Response.Redirect("AreaPrivada/Usuarios.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }
            }                
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            if (Session["dni_Usuario"] != null)
            {
                Usuario usu = new Usuario();
                usu.User = txtUserName.Text;
                usu.NumDni = int.Parse(txtNumDni.Text);
                usu.Nombre = txtNombreUser.Text;
                usu.Apellido = txtApellidoUser.Text;
                usu.Pass = txtPassUser.Text;
                //usu.Id_Rol = ddlRolUser.SelectedIndex;
                usu.Id_Rol = int.Parse(lblRol.Text);
                usu.Mail = txtEmailUser.Text;
                //usu.Id_TipoDni = ddlTipoDni.SelectedIndex;
                usu.Id_TipoDni = int.Parse(ddlTipoDni.SelectedValue.ToString());
                try
                {
                    UsuarioDAO.updateUser(usu);
                    Session["dni_Usuario"] = null;
                    Response.Redirect("AreaPrivada/Usuarios.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }   
            }
            else 
            {
                Usuario usu = new Usuario();

                usu.User = txtUserName.Text;
                usu.Nombre = txtNombreUser.Text;
                usu.Apellido = txtApellidoUser.Text;
                usu.Id_TipoDni = int.Parse(ddlTipoDni.SelectedValue.ToString());
                //usu.Id_TipoDni = ddlTipoDni.SelectedIndex;
                usu.NumDni = int.Parse(txtNumDni.Text);
                usu.Id_Rol = int.Parse(lblRol.Text);
                //usu.Id_Rol = ddlRolUser.SelectedIndex;
                usu.Pass = txtPassUser.Text;
                usu.Mail = txtEmailUser.Text;
                try
                {
                    UsuarioDAO.Insertar(usu);
                    Response.Redirect("AreaPrivada/Usuarios.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }                  
            }       

        }        

        protected void btnCancelar_Click1(object sender, EventArgs e)
        {
            if (Session["dni_Usuario"] != null)
                Session["dni_Usuario"] = null;                
            Response.Redirect("Usuarios.aspx");            
        }
    }
}